简介
Spring Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并加载相应的模块。
Quick Start
我们以创建一个钉钉机器人 starter 为例
- 创建项目,添加必选依赖
1 | <parent> |
- 创建配置类,用于读取配置信息
1 | @ConfigurationProperties(prefix = "dingding.chatbot") |
@ConfigurationProperties 注解用于设置配置信息的前缀
例如:accessToken 在配置文件中dingding.chatbot.access-token = 123456
- 创建自动装配类,创建想要生成的对象并装配到容器中
1 | @Slf4j |
- 创建 spring.factories 文件,用于 SpringBoot 扫描
内容如下:1
2org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.souche.chatbot.dingding.DingdingAutoConfiguration
spring.factories 放在 resources/META-INF 目录下。
容器启动时,SpringFactoriesLoader 类会扫描该文件,将相应的类实例化装配到容器中。
关键代码如下:
1 | //解析成 CLASS 并实例化 |
- 添加 spring-boot-configuration-processor 依赖,可以在引用 starter 后自动读取相应的配置文件
1 | <dependency> |
- 使用
1)添加上面的依赖
2)添加配置
1 | # 钉钉 |
3)使用demo
1 | @Autowired |